Flash memory is a common type of non-volatile semiconductor memory device. Non-volatile refers to the retaining of stored data when power is turned off. Because flash memory is non-volatile, it is commonly used in power conscious applications, such as in battery powered cellular phones, personal digital assistants (PDAs), and in portable mass storage devices such as memory sticks.
Flash memory devices typically include multiple individual components formed on or within a substrate. For example, a flash memory may include one or more high density core regions and a peripheral portion formed on a single substrate. The high density core regions typically include arrays of individually addressable, substantially identical memory cells. The peripheral portion may include input/output (I/O) circuitry, circuitry for selectively addressing the individual cells (such as decoders for connecting the source, gate and drain of selected cells to predetermined voltages or impedances to effect designated operations of the cell such as programming, reading or erasing), and voltage regulation and supply circuitry.
In a conventional flash memory architecture, memory cells within the core portion are coupled together in a circuit configuration in which each memory cell has a drain, a source, and a stacked gate. In operation, memory cells may be addressed by circuitry in the peripheral portion to perform functions such as reading, erasing, and programming of the memory cells.
Flash memory typically includes two distinct types: NOR flash memory, and NAND flash memory. Generally speaking, conventional NOR flash memory is considered to be a code-level memory, while NAND flash memory is considered to be a data-level memory. More specifically, NOR flash memory is typically configured to provide a very reliable storage environment and to further enable fast and random reading of each memory cell in the device. This is accomplished by providing individual contacts to each cell in the device. The reliability and random access nature of the NOR architecture make NOR flash memory particularly suitable for code storage, such as mobile phone and set top box operating systems, etc. Unfortunately, the individually addressable nature of conventional NOR flash memory cells tends to limit the speed at which cells may be programmed and erased as well as limit rapid reductions in device sizes. Typical NOR flash memory devices have program rates on the order of 0.4 megabytes per second (MB/s) and erase rates on the order of 0.3 MB/s.
NAND flash memory, on the other hand, is configured to enable serial or page-based access to data stored therein. This is accomplished by linking memory cells to each other and only providing access to the cells as a group or page. This architecture has the advantage of enabling decreased device sizes and also for providing fast write times. However, because each cell is not individually addressable, NAND devices are generally considered less reliable and therefore more suitable for data storage than code storage. Typical NAND flash memory devices have program rates on the order of 8 MB/second and erase rates on the order of 60 MB/second.